//点更新函数
function updatePoint({ fid, attr, docLayer }) {
  // 图层fid
  const fids = fid.value
  var number = attr[0].value
  var pointColor
  if (number == 0) {
    pointColor = 6
  } else if (number == 1) {
    pointColor = 4
  } else if (number == 2) {
    pointColor = 90
  }

  //设置添加点要素的图形参数信息
  var pointInfo = new Zondy.Object.CPointInfo({
    //子图角度，取值范围为0~360。
    Angle: 0,
    // Angle: document.getElementById(0).value,
    //子图颜色（请参考MapGIS颜色库中颜色编号）
    Color: pointColor,
    // Color: document.getElementById(pointColor).value,
    //子图高度
    SymHeight: 5,
    //子图ID（请参考MapGIS符号库中线符号编号）
    SymID: 21,
    //子图宽度
    SymWidth: 5,
  })
  var graphicInfo = new Zondy.Object.WebGraphicsInfo({
    InfoType: 1,
    PntInfo: pointInfo,
  })

  /* 3、属性 */
  var attValue = attr.map((item) => item.value)
  /* 4、设置要素 */
  var feature = new Zondy.Object.Feature({
    // fGeom: fGeom, //坐标--几何信息
    GraphicInfo: graphicInfo, //样式信息
    AttValue: attValue, //属性
  })
  /* 设置要素为点要素 
点 -->1
线 -->2
面 -->3
*/
  feature.setFType(1)
  feature.setFID(fids) //++
  /* 5、设置要素集,添加要素 */
  //创建一个要素数据集
  var featureSet = new Zondy.Object.FeatureSet()
  /* 设置属性结构 */
  var cAttStruct = new Zondy.Object.CAttStruct({
    FldName: attr.map((item) => item.key),
    FldNumber: attr.length, //属性的个数
    FldType: attr.map((item) => item.type),
  })
  featureSet.AttStruct = cAttStruct
  /* 添加要素到要素数据集 */
  featureSet.addFeature(feature)

  //创建一个编辑服务类
  var editService = new Zondy.Service.EditDocFeature("guanggu", "2", {
    ip: "localhost",
    port: "6163", //访问IGServer的端口号，.net版为6163，Java版为8089
  })
  editService.update(featureSet, onPntSuccess(docLayer))
}
//修改点要素回调函数
function onPntSuccess(layer) {
  return function (result) {
    if (result) {
      alert("更新点要素成功！")
      layer.refresh()
    } else {
      alert("更新点要素失败！")
    }
  }
}

export { updatePoint }
